'''
Created on 14/04/2013

@author: belentwi
'''
from flask_wtf import Form
from flask_wtf import TextField
from flask_wtf import SelectField
from flask_wtf import SelectMultipleField
from flask_wtf import widgets
from flask_wtf import IntegerField

from app.validators import Required

class ProyectoBuscar(Form):
    """
        Formulario de busqueda de proyectos
    """
    id = TextField()
    nombre = TextField()
    estado = TextField()
    costo = IntegerField()
    presupuesto = IntegerField()
    fecha_inicio = TextField()
    fecha_fin = TextField()
    lider = TextField()
    entidad = TextField()

class ProyectoCrear(Form):
    """
        Formulario de creacion de proyectos
    """
   
    nombre = TextField('Nombre:', [Required()])
    presupuesto = IntegerField('Presupuesto:', [Required()] )
    fecha_inicio = TextField('Fecha Inicio:')
    fecha_fin = TextField('Fecha Fin:')
    lideres = SelectField('Lider:')
    

class ProyectoModificar(Form):
    """
        Formulario de modificacion de proyectos
    """
   
    nombre = TextField('Nombre:', [Required()])
    estado = SelectField('Estado:')
    costo = IntegerField('Costo')
    presupuesto = IntegerField('Presupuesto:', [Required()] )
    fecha_inicio = TextField('Fecha Inicio:')
    fecha_fin = TextField('Fecha Fin:')
    lideres = SelectField('Lider:')
    

class ProyectoMiembros(Form):
    """
        Formulario de asignacion y desasignacion de miembros al proyecto
    """
   
    miembros =  SelectMultipleField('Usuarios:', [Required()], coerce=int,
        widget=widgets.ListWidget(prefix_label=False), option_widget=widgets.CheckboxInput())
    proyecto = TextField('Proyecto Seleccionado:')
    

class ProyectoConsultar(Form):
    """
        Formulario de consulta de proyectos
    """
   
    nombre = TextField('Nombre:')
    estado = TextField('Estado:')
    costo = IntegerField('Costo')
    presupuesto = IntegerField('Presupuesto:')
    fecha_inicio = TextField('Fecha Inicio:')
    fecha_fin = TextField('Fecha Fin:')
    lideres = TextField('Lider:')
    miembros = SelectMultipleField('Miembros:', coerce=int,
        widget=widgets.ListWidget(prefix_label=False), option_widget=widgets.Option())
    fases = SelectMultipleField('Fases:', coerce=int,
        widget=widgets.ListWidget(prefix_label=False), option_widget=widgets.Option())
